home *** CD-ROM | disk | FTP | other *** search
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- local pokus = getRestartCount()
-
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- room.uvod = 0
- room.do_prace = 0
- room.znovu = 0
- room.dilna = 0
- room.zvedni = 0
-
- return function()
- if isReady(small) and isReady(big) then
- if not level_isShowing() and small.X == 25 and small.Y == 23 and big.X == 27 and big.Y == 21 then
- if not big:isLeft() then
- level_planShow(function(count)
- return level_action_move('L')
- end)
- end
- file_include("script/"..codename.."/demo_help.lua")
- end
- if not level_isShowing() and no_dialog() then
- if room.uvod == 0 then
- switch(pokus){
- [1] = function()
- addm(6, "kuf-m-je")
- addv(4, "kuf-v-noco")
- addv(9, "kuf-v-hod")
- end,
- [2] = function()
- addv(9, "kuf-v-hod")
- end,
- default = function()
- switch(random(3)){
- [0] = function()
- end,
- [1] = function()
- addv(9, "kuf-v-hod")
- end,
- [2] = function()
- addm(6, "kuf-m-je")
- end,
- }
- end,
- }
- room.uvod = 1
- elseif room.do_prace == 0 and kufr.hotovo == 1 then
- switch(pokus){
- [1] = function()
- addv(10, "kuf-v-doprace")
- end,
- [2] = function()
- addv(10, "kuf-v-dotoho")
- end,
- default = function()
- switch(random(2)){
- [0] = function()
- addv(10, "kuf-v-doprace")
- end,
- [1] = function()
- addv(10, "kuf-v-dotoho")
- end,
- }
- end,
- }
- addm(5, "kuf-m-ven")
- addv(0, "kuf-v-ukol")
- room.do_prace = 1
- elseif room.znovu == 0 and room.do_prace == 1 and room.dilna == 0 and random(100) < 5 then
- switch(pokus){
- [1] = function()
- addv(20, "kuf-v-jeste")
- addm(2, "kuf-m-disk")
- addv(6, "kuf-v-restart")
- addm(3, "kuf-m-pravda")
- end,
- }
- room.znovu = 1
- elseif room.dilna == 0 and room.znovu == 1 and (small.Y >= 22 or big.Y >= 22) then
- addm(30, "kuf-m-dodilny")
- addv(5, "kuf-v-napad")
- room.dilna = 1
- elseif room.zvedni == 0 and ocel.Y == 18 and small.Y >= 22 and small.Y <= 24 and small.X >= 29 and small.X <= 30 then
- room.zvedni = 1
- addm(0, "kuf-m-nezvednu")
- elseif room.zvedni <= 1 and ocel.Y == 16 and random(100) < 7 then
- room.zvedni = 2
- addm(0, "kuf-m-kousek")
- end
- end
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_kufr()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- kufr.faze = 0
- kufr.hotovo = 0
-
- return function()
- local anim_table = {
- [0] = function()
- if kufr.dir == dir_down then
- kufr.faze = kufr.faze + 1
- end
- end,
- [1] = function()
- kufr.afaze = 0
- if kufr.dir == dir_no then
- kufr.faze = kufr.faze + 1
- end
- end,
- [2] = function()
- kufr.afaze = kufr.faze - 2
- kufr.faze = kufr.faze + 1
- end,
- [7] = function()
- kufr.delay = 3
- kufr.faze = kufr.faze + 1
- end,
- [8] = function()
- if kufr.delay > 0 then
- kufr.delay = kufr.delay - 1
- else
- level_newDemo("script/"..codename.."/demo_briefcase.lua")
- kufr.faze = kufr.faze + 1
- end
- end,
- [9] = function()
- kufr.delay = 4
- kufr.faze = kufr.faze + 1
- end,
- [10] = function()
- if kufr.delay > 0 then
- kufr.delay = kufr.delay - 1
- else
- kufr.afaze = 13 - kufr.faze
- kufr.faze = kufr.faze + 1
- end
- end,
- [14] = function()
- kufr.delay = 37
- kufr.faze = kufr.faze + 1
- end,
- [15] = function()
- if kufr.delay > 0 then
- kufr.delay = kufr.delay - 1
- else
- kufr.faze = kufr.faze + 1
- end
- end,
- [16] = function()
- kufr.afaze = kufr.faze - 11
- kufr.faze = kufr.faze + 1
- end,
- [22] = function()
- kufr.afaze = 0
- kufr.faze = kufr.faze + 1
- kufr.hotovo = 1
- end,
- }
- anim_table[3] = anim_table[2]
- anim_table[4] = anim_table[2]
- anim_table[5] = anim_table[2]
- anim_table[6] = anim_table[2]
-
- anim_table[11] = anim_table[10]
- anim_table[12] = anim_table[10]
- anim_table[13] = anim_table[10]
-
- anim_table[17] = anim_table[16]
- anim_table[18] = anim_table[16]
- anim_table[19] = anim_table[16]
- anim_table[20] = anim_table[16]
- anim_table[21] = anim_table[16]
- switch(kufr.faze)(anim_table)
-
- kufr:updateAnim()
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_ocel()
- return function()
- if ocel.dir ~= dir_no then
- room.dilna = 1
- room.do_prace = 1
- room.znovu = 1
- end
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_kufr()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_ocel()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-